#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN=100050;
//标记从左边开始枚举的数是否前面已出现过
bool vis[MAXN];
//记录从i到结束这一段有多少个不重复数字
int dp[MAXN];
//dp不重复数字时的标记
bool flag[MAXN];
int a[MAXN];
int main(void){
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
    }
    dp[n]=1;
    flag[a[n]]=true;
    for(int i=n-1;i>0;i--){
        if(!flag[a[i]]){
            flag[a[i]]=true;
            dp[i]=dp[i+1]+1;
        }
        else{
            dp[i]=dp[i+1];
        }
    }
    long long ans=0;
    for(int i=1;i<=n-1;i++){
        if(!vis[a[i]]){
            ans+=dp[i+1];
            vis[a[i]]=true;
        }
    }
    printf("%lld\n",ans);
    return 0;
}
